package com.example;

/**
 * 目标：二维数组的认识
 */
public class ArrayDemo5 {
    public static void main(String[] args) {
        printArray();
        printArray2();
    }

    public static void printArray() {
        // 静态初始化数组
        int[][] array = {
                {1, 2, 3},
                {4, 5, 6},
                {7, 8, 9}
        };

        // 访问：数组名[行]
        int[] arr = array[0];
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        // 访问：数组名[行][列]
        System.out.println(array[0][0]);

        // 长度访问：数组名.length
        System.out.println(array.length); // 3
        System.out.println(array[0].length); // 3

        // 动态初始化数组
        // 注意：数组的行数是固定的，列数是可变的 所有行必须要写，列不能不写
        int[][] array2 = new int[3][5]; // 3行5列
    }

    // 遍历二维数组
    public static void printArray2() {
        int[][] array = {
                {1, 2, 3},
                {4, 5, 6},
                {7, 8, 9}
        };

        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j] + "\t");
            }
            System.out.println();
        }
    }
}
